PySWMM
Open Water Analytics (OWA) and SWMM
In the past OWA has produced both SWMM and EPANET Project. The SWMM projects that they used to Publish including PySWMM, swmm-python, and Storm Water Management Model have been re-branded under pyswmm. The Repos and documentation have been moved. The Repos are located at https://github.com/pyswmm. The Documentation is located at https://www.pyswmm.org/. There are still references to OWA but it appears that the SWMM projects are being re-branded.
The EPANET projects are still part of OWA. The OWA website has also changed and does not look like a professional website. http://wateranalytics.org/
Projects involved it PySWMM: Both of these can be installed with a pip package.
- PySWMM (https://pypi.org/project/pyswmm/)
- SWMM-Toolkit (https://pypi.org/project/swmm-toolkit/)
Note * The Swmm pip package is not required. Therefore we do not want to install it. This has been proven by it not being installed on linux machine and by removing it from a windows machine then running Generate Chama Inputs command in Chama. This is the chama command that runs PySwmm.
Locations for Repos
With the rebranding of the OWA SWMM projects the Repositories have changed as well. The locations are as follows:
- PySwmm - https://github.com/pyswmm/pyswmm
- Swmm-ToolKit - https://github.com/pyswmm/swmm-python (this contains 2 projects one of which is the Swmm-toolkit)
Locations for PySWMM Documentation
- The new documentation is located at https://www.pyswmm.org/.
- The API documentation is located at http://pyswmm.github.io/pyswmm/reference/index.html.
- There is now a quick start http://pyswmm.github.io/pyswmm/quickstart.html.
It should be noted that the only project that has in depth documentation is PySWMM. The other projects are not documented as comprehensively.
What does PySwmm Require?
When Installing PySWMM from pip on a clean Virtual environment the following are installed.
- swmm-toolkit >= 0.9.0
- julian >= 0.14
- aenum >= 3.1.11
According to docs it requires Python 3.6 or Higher (64-bit x86-64)
Versions that are being used for Chama
PySWMM
The version of PySWMM that is currently in use is 1.2.0
The Release notes from this iteration of PySWMM
Version 1.2.0 is our best version of pyswmm yet.
In this release, we have added the feature for updating pollutants during a simulation.
This feature unlocks a new avenue of water quality modeling in SWMM.
We are no longer restricted to the default pollutant models in SWMM.
We can now represent almost any pollutant model in SWMM via Python 🥳.
Furthermore, this feature extends pollutant modeling to Links as well.
This feature would let us model water quality dynamics like sediment resuspension in channels.
We are excited to see all the amazing things the community will do with this new version of pyswmm 😁.
We have also improved the robustness of pyswmm and addressed a few 🐛 in this release.
SwmmToolkit
The version of the SWMM toolkit being used for chama is 0.9.0 is the toolkit for The Release notes from the 0.9.0 iteration of Swmm Toolkit
OWA SWMM Pollutant Mod Support; OWA SWMM v.5.1.14
In this release, swmm-python adds support for updating pollutant mid-simulation! 🎉 .
This feature should allow the users to use python and model almost any pollutant treatment.
This feature has been a while in the making, and it is finally here.
Kudos to @bemason and @karosc for their work in this release.
Thanks to @jennwuu @michaeltryby for their continued effort in maintaining swmm-python
In v.0.9.0, we have included an updated version of OWA SWMM, v.5.1.14. We have also addressed build issues conda wheels, more robust testing, and several other refinements.
May your simulations always converge, and you never encounter dependency issues ☮️
Available Version of SWMM Projects
Available PySWMM
The Current PySWMM version is 1.4.0
Changes made to the version are as follows according to documentation.
(version 1.3.0)
Issues Closed
Bugs fixed
Issue 360 - node hrt accessor fixed
Pull Requests Merged
Unit test with OWA SWMM 5.1.15
PR 374 - debug LID tutorial code
PR 377 - updates to readme.md for pyswmm.org website
PR 393 - updates to readme.md for pyswmm youtube channel
PR 392 - overhaul pyswmm sphinx docs
(version 1.4.0)
New Features
added pip extras to enable easily installing pyswmm with different versions of swmm-toolkit/OWA SWMM
Available SwmmToolkit
The available version of the SWMM-Toolkit is 14.2. The release notes for version 14.2 are as follows:
''' Updates swmm-solver to OWA SWMM 5.2.3 Adds some API support for getting and setting street inlet results and properties''' ''' It should be noted that the swmm-toolkit is linked to the pyswmm (formerly owa) version of SWMM that was forked from the EPA SWMM. https://github.com/pyswmm/Stormwater-Management-Model/releases (C project). So any time there is an update with there SWMM version there is a corresponding update with the toolkit version. The SWMM toolkit version 14.2 corresponds to OWA SWMM v5.2.3; drain inlet support